package com.example.safehome;


import android.content.Intent;
import android.net.Uri;

import androidx.appcompat.app.AppCompatActivity;

public class CoDetector extends AppCompatActivity {
    //1.系统状态是否正常
    public boolean systemStatus;

    //2.一氧化碳浓度
    public double coLevel;

    //3.一氧化碳报警标准
    public  double standard = 125.00;

    //4.一氧化碳超标地点
    public String exceedPosition;

    //5.一氧化碳是否超标
    public static boolean isExceeded = false;

    //6.一氧化碳检测器是否运行
    public static boolean isRunning = true;

    //7.建立数据库对象
    CoDetectorDB coDetectordb = new CoDetectorDB();

    //构造函数，并对数据初始化
    public CoDetector() {
        systemStatus = true;
        coLevel=0.00;
        exceedPosition = "";
    }

    //检测设备状态
    public boolean getStatus() {
        boolean isRun=coDetectordb.getIsRunning();
        if (isRun == true) {
            return true;
        }
        else {
            exceptionHandle();
            return false;
        }
    }

    //获取一氧化碳超标地点
    public String getExceedPosition() {
        String exceedPos=coDetectordb.getExceedPosition();
        return exceedPos;
    }


    //报警
    public void ringAlarm(double coLeval,double standard) {
        double coLevel1 = coDetectordb.getCoLevel();

        //判断一氧化碳是否超标
        if (coLevel1 > standard) {
            isExceeded = true;

            //通知用户
            String position = getExceedPosition();
            callHost(position);
        }
    }

    //通知用户
    public void callHost(String position) {
        //给用户打电话
        String phone ="18567687972";

        //使用Intent调用打电话的功能
        Intent intent = new Intent();

        //设置Action和Uri
        intent.setAction(Intent.ACTION_CALL);

        //设置数据
        intent.setData(Uri.parse("tel:"+phone));

        //开始打电话
        startActivity(intent);

        //给用户发短信

        //设置短信内容
        String smsContent = "您的家里一氧化碳浓度超标，会发生危险，请您及时处理！";

        //使用Intent调用打电话的功能
        Intent smsIntent = new Intent();

        //设置Action和Uri
        smsIntent.setAction(Intent.ACTION_SENDTO);

        //设置数据
        smsIntent.setData(Uri.parse("smsto:"+phone));

        //指定短信的内容
        smsIntent.putExtra("sms_body", smsContent);

        //开始发短信
        startActivity(smsIntent);

    }

    //异常处理
    public boolean exceptionHandle() {
        java.lang.System.out.println("系统未正常运行,检测器正常运行，系统需要维护");
        return true;
    }

}
